/**
  ******************************************************************************
  * @file           : tskcfg.h
  * @brief          : Header for main.c file.
  *                   This file contains the common defines of the application.
  ******************************************************************************
  * @attention
  *
  ******************************************************************************
  */

/* Define to prevent recursive inclusion -------------------------------------*/
#ifndef __TSKCFG_H
#define __TSKCFG_H

/* Includes ------------------------------------------------------------------*/
#include <stdio.h>

#include "FreeRTOS.h"
#include "task.h"
#include "timers.h"
#include "queue.h"
#include "semphr.h"
#include "event_groups.h"

#define RUNDOG_TSK_PRIORITY                                       (tskIDLE_PRIORITY + 1)
#define RUNDOG_STACK_SIZE                                         512u
extern TaskHandle_t xRunDog_Thd;
extern StaticTask_t xRunDog_Tcb;
extern StackType_t  xRunDog_Stk[ RUNDOG_STACK_SIZE ];
void vRunDog_Task( void * pvParameters );

//#define TTY_TSK_PRIORITY                                          (tskIDLE_PRIORITY + 2)
//#define TTY_STACK_SIZE                                            128u
//extern TaskHandle_t xTerminal_Thd;
//extern StaticTask_t xTerminal_Tcb;
//extern StackType_t  xTerminal_Stk[ TTY_STACK_SIZE ];
//extern void vTerminal_Task( void * pvParameters );

#define STGPARA_TSK_PRIORITY                                      (tskIDLE_PRIORITY + 2)
#define STGPARA_STACK_SIZE                                        512u
extern TaskHandle_t xStoragePara_Thd;
extern StaticTask_t xStoragePara_Tcb;
extern StackType_t  xStoragePara_Stk[ STGPARA_STACK_SIZE ];
extern void vStoragePara_Task( void * pvParameters );

/* 扩展IO板通讯任务 */
#define ROUTE_485_TSK_PRIORITY                                    (tskIDLE_PRIORITY + 6)
#define ROUTE_485_STACK_SIZE                                      1024u
extern TaskHandle_t xRoute_485_Thd;
extern StaticTask_t xRoute_485_Tcb;
extern StackType_t  xRoute_485_Stk[ ROUTE_485_STACK_SIZE ];
extern void vRoute_485_Task( void * pvParameters );

extern QueueHandle_t Storage_qhd;

extern QueueHandle_t     Route_485RxLink_Qhd;
extern QueueHandle_t     Cf_RxCmd_Qhd;
extern SemaphoreHandle_t Cf_InDetect_Shd;

extern QueueHandle_t     LtLx_RxCmd_Qhd;
extern SemaphoreHandle_t LtLx_InDetect_Shd;

extern void APP_CreateTask(void);
extern void Expio_DevTaskCreat(void);

#endif /* __TSKCFG_H */

/************************ END OF FILE *********/
